import { openTypeProps, commonProps } from "../../libs/config";

export const textProps = {
  ...openTypeProps,
  ...commonProps,
  // 主题颜色
  type: {
    type: String,
  },
  // 是否显示
  show: {
    type: Boolean,
    default: null,
  },
  // 显示的值
  text: {
    type: [String, Number],
  },
  // 前置图标
  prefixIcon: {
    type: String,
  },
  // 后置图标
  suffixIcon: {
    type: String,
  },
  // 文本处理的匹配模式
  // text-普通文本，price-价格，phone-手机号，name-姓名，date-日期，link-超链接
  mode: {
    type: String,
  },
  // mode=link下，配置的链接
  href: {
    type: String,
  },
  // 格式化规则
  format: {
    type: [String, Function],
  },
  // mode=phone时，点击文本是否拨打电话
  call: {
    type: Boolean,
    default: null,
  },
  // 小程序的打开方式
  openType: {
    type: String,
  },
  // 是否粗体，默认normal
  bold: {
    type: Boolean,
    default: null,
  },
  // 是否块状
  block: {
    type: Boolean,
    default: null,
  },
  // 文本显示的行数，如果设置，超出此行数，将会显示省略号
  lines: {
    type: [String, Number],
  },
  // 文本颜色
  color: {
    type: String,
  },
  // 字体大小
  size: {
    type: [String, Number],
  },
  // 图标的样式
  iconStyle: {
    type: [Object, String],
  },
  // 文字装饰，下划线，中划线等，可选值 none|underline|line-through
  decoration: {
    type: String,
  },
  // 外边距，对象、字符串，数值形式均可
  margin: {
    type: [String, Number],
  },
  // 文本行高
  lineHeight: {
    type: [String, Number],
  },
  // 文本对齐方式，可选值left|center|right
  align: {
    type: String,
  },
  // 文字换行，可选值break-word|normal|anywhere
  wordWrap: {
    type: String,
  },
};

export const textEmits = {
  click: () => true,
};
